package common;

public class Conf {
	// Mutual Exclusion Scheme
	public static byte ME_SCHEME = Def.ME_TOKEN;	// or Def.ME_TOKEN
									// Def.ME_TOKENLESS = Ricart-Agrawala's Algorithm
									// Def.ME_TOKEN = Raymond's Algorithm
	public static final long ME_REQUEST_TIMEOUT_MS = 2 * 60 * 1000;	// 2 minutes
	public static final long ME_TOKEN_TIMEOUT_MS = 1 * 60 * 1000;  // 1 min
	
	// console
	public static final boolean MGMT_CONSOLE = false;	// management console on / off -- if it's on consoles on single processes will turn off, otherwise vice versa.
	public static final boolean VERBOSE = true;		// if this is set to be 'true' all msgs printed out via Utils.print_log() will be on the screen
													// use Utils.print_log() for debugging purpose --> once you set this 'false', all debugging msgs will be gone
	public static final boolean VERBOSE_POSTMAN = false;
	public static final boolean VERBOSE_PROC = false;
	public static final boolean DEBUG = false;
	
	// Launcher conf
	public static final int MAX_LOCAL_NODES = 50;
	
	// Process conf
	public static final int MIN_WRITETIME_MS = 2000;	// min 2 sec
	public static final int MAX_WRITETIME_MS = 13000;	// max 13+2 = 15 sec
	public static int N_RESOURCES_PER_NODE = 5;
	public static final int MAX_TRIAL = 3;
	
	// communication conf
	public static final int STARTING_PORT_NO = 9010;
	public static final int TCP_SAFE_STANDBY_MS = 50000;
	public static final int THREAD_SLEEPTIME_MS = 10;
	public static final int THREAD_SAFE_SPINLOCK_COUNT = 100000;
	
	// Simulation Scenario
}